package Entidades;
import java.io.Serializable;
import java.util.ArrayList;

import javax.swing.text.rtf.RTFEditorKit;

import Util.Controle;



public class Filial implements Serializable{
	
	private static Filial instance;

	public int numero;
	private Usuario diretor;
	public static ArrayList<Projeto> projetos;
	public ArrayList<Usuario> usuarios;
	
	protected Filial(){
		projetos = new ArrayList<Projeto>();
		usuarios = new ArrayList<Usuario>();
	}
	
	public static Filial getInstance(){
		if (instance == null)
				instance = 	new Filial();
		return instance;
	}
	
	public static ArrayList<Projeto> getProjetosInstance(){
		if (projetos == null)
			projetos = 	new ArrayList<Projeto>();
		return projetos;
	}
	
	
	
	public int getNumero() {
		return numero;
	}
	public void setNumero(int numero) {
		this.numero = numero;
	}
	public Usuario getDiretor() {
		return diretor;
	}
	public void setDiretor(Usuario diretor) {
		this.diretor = diretor;
	}
	public void removeProjeto(Projeto projeto) {
		projetos.remove(projeto);
	}
	public void adicionaProjeto(Projeto p) {
		p.setFilialNum(Controle.getFilialnumero());
		getProjetosInstance().add(p);
	}
	
	public ArrayList<Projeto> getProjetos() {
		return getProjetosInstance();
	}
	
	public Projeto getProjeto(String ProjetoCodigo) {
		for (Projeto projeto : getProjetosInstance()) {
			if (projeto.getCodigo().equals(ProjetoCodigo))
				return projeto;
		}
		return null;
	}
	
	
	public ArrayList<Usuario> getUsuarios() {
		return usuarios;
	}
	
	public void adicionaUsuario(Usuario u){
		usuarios.add(u);
	}
}
